home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 140 / Gekkan Dennou Club - 2000.1 Vol. 140 (Japan).7z / Gekkan Dennou Club - 2000.1 Vol. 140 (Japan) (Track 1).bin / tools / has060 / hassrc87.lzh / symbol.equ < prev    next >
Text File  |  1999-03-03  |  4KB  |  129 lines

  1.     .nlist
  2. ;----------------------------------------------------------------
  3. ;    X68k High-speed Assembler
  4. ;        シンボル構造定義
  5. ;        < symbol.equ >
  6. ;
  7. ;    $Id: symbol.equ,v 1.5  1999  3/ 3(Wed) 14:36:30 M.Kamada Exp $
  8. ;
  9. ;        Copyright 1990-94  by Y.Nakamura
  10. ;              1999     by M.Kamada
  11. ;----------------------------------------------------------------
  12.  
  13.  
  14. ;----------------------------------------------------------------
  15. ;    シンボルテーブルタイプ
  16. ;----------------------------------------------------------------
  17.  
  18. ;----------------------------------------------------------------
  19. ;    シンボルハッシュ
  20. ST_VALUE    equ    0    ;数値シンボル
  21. ST_LOCAL    equ    1    ;ローカルラベル
  22. ST_REAL        equ    2    ;浮動小数点実数シンボル
  23. ST_REGSYM    equ    3    ;regシンボル
  24. ST_REGISTER    equ    -1    ;レジスタ名
  25.  
  26. ;----------------------------------------------------------------
  27. ;    命令ハッシュ
  28. ST_MACRO    equ    4    ;マクロ
  29. ST_OPCODE    equ    -2    ;命令名
  30.  
  31.  
  32. ;----------------------------------------------------------------
  33. ;    シンボルテーブル構造
  34. ;----------------------------------------------------------------
  35.  
  36. ;----------------------------------------------------------------
  37. ;    共通部
  38.     .offset    0
  39. SYM_NEXT:    .ds.l    1    ;$00 同じハッシュ値を持つ次のシンボルへのポインタ
  40. SYM_NAME:            ;$04 シンボル名へのポインタ
  41. SYM_LOCALNO:    .ds.l    1    ;$04 (ローカルラベルならラベル番号)
  42. SYM_TYPE:    .ds.b    1    ;$08 シンボルのタイプ
  43. SYM_BEGIN:            ;$09
  44.  
  45. ;----------------------------------------------------------------
  46. ;    数値シンボル,ローカルラベル    (ST_VALUE,ST_LOCAL)
  47.     .offset    SYM_BEGIN
  48. SYM_OPTCOUNT:    .ds.b    1    ;$09 最適化回数カウント
  49. SYM_ATTRIB:    .ds.b    1    ;$0A 定義属性
  50. SYM_EXTATR:    .ds.b    1    ;$0B 外部定義属性
  51. SYM_SECTION:    .ds.b    1    ;$0C セクション
  52. SYM_ORGNUM:    .ds.b    1    ;$0D アドレスシンボルのorgセクション番号
  53. SYM_FIRST:    .ds.b    1    ;$0E 最初に定義した方法(ST_VALUEのみ)
  54.                 ;    -1=set,0=その他,1=offsym
  55.         .ds.b    1    ;$0F
  56. SYM_VALUE:    .ds.l    1    ;$10 シンボルの持つ値
  57. SYM_TBLLEN:            ;$14
  58.  
  59. ;----------------------------------------------------------------
  60. ;    浮動小数点実数シンボル    (ST_REAL)
  61.     .offset    SYM_BEGIN
  62. SYM_FSIZE:    .ds.b    1    ;$09 シンボルのサイズ(SZ_SINGLE/SZ_DOUBLE/SZ_EXTEND/SZ_PACKED)
  63.         .ds.w    1    ;$0A
  64. SYM_FVPTR:    .ds.l    1    ;$0C シンボル値へのポインタ
  65.                 ;$10
  66.  
  67. ;----------------------------------------------------------------
  68. ;    regシンボル        (ST_REGSYM)
  69.     .offset    SYM_BEGIN
  70.         .even        ;$09
  71. SYM_DEFLEN:    .ds.w    1    ;$0A 定義内容の長さ(ワード数-1)
  72. SYM_DEFINE:    .ds.l    1    ;$0C 定義内容へのポインタ
  73.                 ;$10
  74.  
  75. ;----------------------------------------------------------------
  76. ;    レジスタ名        (ST_REGISTER)
  77.     .offset    SYM_BEGIN
  78.         .even        ;$09
  79. SYM_ARCH:    .ds.b    1    ;$0A CPUタイプ
  80. SYM_ARCH2:    .ds.b    1    ;$0B ColdFire用のCPUタイプ
  81. SYM_REGNO:    .ds.b    1    ;$0C レジスタ番号
  82.                 ;$0D
  83.  
  84. ;----------------------------------------------------------------
  85. ;    マクロ            (ST_MACRO)
  86.     .offset    SYM_BEGIN
  87.         .even        ;$09
  88. SYM_MACLOCS:    .ds.w    1    ;$0A 使用されるローカルシンボル数
  89.         .ds.l    1    ;$0C (SYM_DEFINE)定義内容へのポインタ
  90.                 ;$10
  91.  
  92. ;----------------------------------------------------------------
  93. ;    命令名            (ST_OPCODE)
  94.     .offset    SYM_BEGIN
  95. SYM_NOOPR    .ds.b    1    ;$09 オペランドを持つ命令か
  96.         .ds.b    1    ;$0A CPUタイプ(SYM_ARCH) $00なら疑似命令
  97.         .ds.b    1    ;$0B ColdFire用のCPUタイプ
  98.                 ;    SYM_ARCHはワードサイズで$0000なら疑似命令
  99. SYM_SIZE:    .ds.b    1    ;$0C 命令の使用可能なサイズ
  100. SYM_SIZE2:    .ds.b    1    ;$0D ColdFire用のサイズ
  101. SYM_OPCODE:    .ds.w    1    ;$0E 命令コード基本パターン
  102. SYM_FUNC:    .ds.l    1    ;$10 処理ルーチンへのポインタ
  103.                 ;$14
  104.  
  105.  
  106. ;----------------------------------------------------------------
  107. ;    $Log: symbol.equ,v $
  108. ;    Revision 1.5  1999  3/ 3(Wed) 14:36:30 M.Kamada
  109. ;    +82 SYM_VALUEをSYM_FIRSTの後ろに移動してロングワード境界に
  110. ;    +82 SYM_FVPTRをロングワード境界に
  111. ;
  112. ;    Revision 1.4  1999  2/27(Sat) 23:45:17 M.Kamada
  113. ;    +81 ソースリストのフォーマットを変更(実行ファイルは+80とまったく同じ)
  114. ;
  115. ;    Revision 1.3  1999  2/25(Thu) 04:35:44 M.Kamada
  116. ;    +80 ColdFire対応
  117. ;    +80 .offsym <初期値>,<シンボル>
  118. ;    +80 setでset以外で定義されたシンボルの上書き禁止
  119. ;
  120. ;    Revision 1.2  1994/07/10  12:45:50  nakamura
  121. ;    オペランドなし命令への対応を変更した
  122. ;
  123. ;    Revision 1.1  1994/02/06  05:36:20  nakamura
  124. ;    Initial revision
  125. ;
  126. ;
  127.     .text
  128.     .list
  129.